Trading exchanges have advanced from in-person floor trading operations to technology-enabled electronic trading exchanges that allow remote users to participate in various markets. In general, sellers submit sell orders (offers or asks) with prices at which they will sell a specified quantity of tradable objects, and buyers submit buy orders (bids) with prices at which they will buy a specified quantity of tradable objects. A tradable object, as used herein, refers to any object which can be traded with a price and a quantity, and includes various items such as stocks, bonds, funds, futures, spreads, options, commodities, etc. In an electronic trading exchange, a host exchange disseminates to all connected participants market information relating to bids, offers, and trades in order to provide the same transparency that floor traders are provided. Sellers try to sell at the highest price and buyers try to buy at the lowest price, and an exchange matching system facilitates the matching of bids and offers in order to execute trades. In many electronic exchanges, disseminated trade notifications typically include the tradable object for which the trade occurred, the price upon which the buyer and seller agreed, the number of shares or contracts that traded, and the exchange-time of the trade.
Trade notifications rarely include any other descriptive information in addition to what is specified above. In particular, the parties involved in the trade typically are not revealed and most exchanges report every trade individually, regardless of whether or not the trade resulted from a larger buy or sell order. For example, if there are 100 different sellers each attempting to sell a single futures contract at the same price, and if a buyer submits a buy order at that price and with a quantity of 100, this will result in 100 separate trade notifications being generated, even though just a single buy order is involved. Similarly, many trade notifications can be generated when there is a single sell order of a larger quantity which is divided up between multiple different buyers.
Trade notifications are received on the trader side by a trader system which includes user devices and a trading application running for example on a server. The trade notifications are processed in a desired manner, and the associated trade information is then displayed in what is typically called a “trade ticker” on the display screens of the user devices. Because new trade information is constantly being appended over the course of a trading session, as new trades occur, the new trades are typically added to the end of the list of trades on the ticker, and as they accumulate, the oldest trades are removed to make room for the more recent trades.
Because this raw trade information can be overwhelming and trades can occur so rapidly that they are scrolled off the screen before a trader has time to recognize and interpret them, typically trading applications include features which allow the trader to specify filters to eliminate some of the so-called “noise”, which is information that is not relevant to that trader. For example, a trader may want to only be notified of trades for a particular tradable object, or even a subset of a tradable object. If a trader is trading IBM stock, he may not care about every Google trade. Additionally, since certain stocks like IBM may trade hundreds of millions of times in a day, a trader may only want to be notified of trades with quantities larger than or equal to a predetermined amount, such as 1,000 shares. Traditional trading applications often have a filter by size feature to filter out those trades with quantities that are less than a predetermined amount and display only those trades having quantities greater than or equal to the predetermined amount.
Although such a filter feature can help to eliminate a lot of irrelevant information, it can also lead to the unintentional elimination of important data. For example, if there are 35 different sellers each attempting to sell less than 1000 contracts of a specified futures contract at the same price and with a total quantity of 25,000 contracts, and if a buyer submits a buy order at that price and with a quantity of 25,000, this will result in 35 separate trades and 35 corresponding trade notifications being generated, each having an associated trade quantity of less than 1000 contracts. In this case, if a trader wants to have displayed only those trades with quantities greater than 1000 contracts, the trader will not be aware that these trades occurred and will unfortunately miss the fact that 25,000 contracts have traded.
Traders base their decisions to buy and sell on many factors, and knowing what objects are trading, at what price, and when they are trading are all important factors. However, other factors can also be helpful and are not conveyed using traditional trading applications. For example, traditional tickers, while displaying the trade price, do not convey whether the executed trade traded on the bid side or the offer side of the market. Further, traditional tickers displaying trade information do not convey whether further volume is available at a specific price.